package work.mediway.mdm.biz.vo.biz;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import work.mediway.mdm.biz.entity.biz.SsDataQualityConfig;
import work.mediway.mdm.biz.entity.biz.SsDataQualityLog;

/**
 * 数据质量表列表
 *
 * @author zhongyj <1126834403@qq.com><br/>
 * @date 2022/7/13
 */
@Data
@ApiModel("数据质量列表")
public class SsDataQualityTableVO {

    @ApiModelProperty(value = "配置id")
    private Integer id;

    @ApiModelProperty(value = "配置id")
    private Integer configId;

    @ApiModelProperty(value = "源系统id")
    private String sourceAccessSystemId;

    @ApiModelProperty(value = "源系统")
    private String sourceAccessSystem;

    @ApiModelProperty(value = "源系统模式名称")
    private String sourceSchemaName;

    @ApiModelProperty(value = "源表")
    private String sourceTableCode;

    @ApiModelProperty(value = "源表名称")
    private String sourceTableDesc;

    @ApiModelProperty(value = "目标系统id")
    private String targetAccessSystemId;

    @ApiModelProperty(value = "目标系统")
    private String targetAccessSystem;

    @ApiModelProperty(value = "目标系统模式名称")
    private String targetSchemaName;

    @ApiModelProperty(value = "目标表")
    private String targetTableCode;

    @ApiModelProperty(value = "目标表名称")
    private String targetTableDesc;

    @ApiModelProperty(value = "目标表时间戳字段", hidden = true)
    private String targetTimestamp;

    @ApiModelProperty(value = "更新时间", hidden = true)
    private String updateDate;

    @ApiModelProperty(value = "更新人", hidden = true)
    private String updateUser;

    @ApiModelProperty(value = "内容比对周期")
    private Long contentComparisonCycle;

    @ApiModelProperty(value = "内容比对周期描述")
    private String contentComparisonCycleDesc;

    @ApiModelProperty(value = "数量比对周期")
    private Long numberComparisonCycle;

    @ApiModelProperty(value = "数量比对周期描述")
    private String numberComparisonCycleDesc;

    @ApiModelProperty(value = "任务日期范围，1：昨天，7：7天，14：14天，30：30天")
    private String taskDateRange;

    @ApiModelProperty(value = "是否映射")
    private String mapFlag;

    @ApiModelProperty(value = "是否有差值")
    private String verifyFlag;

    @ApiModelProperty(value = "最后比对时间")
    private String lastComparisonDate;

    @ApiModelProperty(value = "数量校验周期")
    private String numPeriod;

    @ApiModelProperty(value = "内容校验周期")
    private String contentPeriod;

    @ApiModelProperty(value = "配置信息")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List<SsDataQualityConfig> dataQualityConfigs;

    @ApiModelProperty(value = "比对信息", hidden = true)
    private SsDataQualityLog dataQualityLog;
}
